// 构造函数在TS中的特性
{
  class User {
    // public name: string
    // constructor(name: string) {
    //   this.name = name
    // }
    // 等同于以下
    // constructor(public name: string) { }

    constructor(public name: string) {
      // 不只是可以赋值 可以调用初始化函数
      this.name = this.initName(name)
    }

    private initName(name: string) {
      return `${name} handled`
    }

  }
  let user = new User('zrf')
  console.log(user.name);
}